Page({
  data: {
    // 渲染列表
    repairList: [],
    total: 0,
    // 请求参数
    params: {
      current: 1,
      pageSize: 5
    },
    // 控制下拉刷新是否加载完毕
    refreshing: false,
    // 当前是否有报修数据
    isEmpty: false
  },
  onLoad() {
    // 请求数据
    this.getRepairList()
  },
  // 请求数据函数
  async getRepairList() {
    // 请求数据
    const { code, data: { rows: repairList, total } } = await wx.http.get('/repair', this.data.params)
    // 检测接口是否用成功
    if (code !== 10000) return wx.utils.toast()
    // 渲染数据
    this.setData({
      // 合并新旧数据
      repairList: [...this.data.repairList, ...repairList],
      isEmpty: repairList.length === 0,
      total
    })
  },
  // 滚动底部加载下一页数据
  getNextPage() {
    // 如果有下一页数据才去请求
    if (this.data.repairList.length < this.data.total) {
      this.setData({
        params: {
          current: this.data.params.current + 1,
          pageSize: this.data.params.pageSize
        }
      })
      this.getRepairList()
    }
  },
  // 下拉重新加载
  async refreshPage() {
    this.setData({
      repairList: [],
      total: 0,
      isEmpty: false,
      params: {
        current: 1,
        pageSize: 5
      }
    })
    await this.getRepairList()
    // 关闭下拉刷新状态
    this.setData({
      refreshing: false
    })
  },
  goDetail(e) {
    wx.navigateTo({
      url: '/repair_pkg/pages/detail/index?id=' + e.mark.id,
    })
  },
  addRepair() {
    wx.navigateTo({
      url: '/repair_pkg/pages/form/index',
    })
  },
})
